package com.intelligent.ispc.core.repository.mongo;

import com.intelligent.ispc.core.dto.YieldDto;
import com.intelligent.ispc.core.entity.TestData;
import com.intelligent.ispc.core.entity.TestStation;
import org.bson.types.ObjectId;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Map;

/**
 * Created by julia on 16/3/10.
 */
public interface TestDataDao {
    List<TestData> findTestDatas(Map<String, Object> searchParams);

    List<TestData> findTestDatas(Map<String, Object> searchParams, Pageable pageable);

    Long findTestDatasCount(Map<String, Object> searchParams);

    List<String> findDistinctTestDatas(Map<String, Object> searchParams, String targeFiled);

    List<TestStation> findStationOrSlotNo(Map<String, Object> searchParams);

    List<String> findDistinctTestItems(Map<String, Object> searchParams);

    void updateTestData(Map<String, Object> searchParams, Map<String, Object> updateParams);

    void findAllAndRemove(Map<String, Object> searchParams);

    List<YieldDto> findYield(Map<String, Object> searchParams);

    List<ObjectId> findFistTestDataId(Map<String, Object> searchParams);

}
